Image content based advertisement system

ABSTRACT

A system for serving an advertisement in a networked environment receives data that defines a user selection of an image. The system also selects an advertisement associated with the user selection and communicates the selected advertisement to the user. The data that defines the user selection includes an x selection coordinate, a y selection coordinate, a width, and a height that defines a region of an image. The user selection defines also defines a scene of a video. The system also includes circuitry and logic configured to extract text and to detect objects from an image region defined by the user selection and to select an advertisement associated with any extracted text and/or detected object.

BACKGROUND

The Internet has emerged as a powerful advertising tool. It is commonplace to see advertisements on many web sites. For example, advertisements may be displayed on search web sites and may be targeted to individuals based upon search terms provided by the individuals. Other web sites, such as news and sports web sites, may provide space for advertisements. The owners of these web sites may sell advertising space to advertisers to offset the costs associated with operating the web sites as well as to turn a profit.

Internet based video streaming and image browsing have also been growing in popularity. For example, web sites, such as YouTube® and Hulu® enable users to select video clips, such as television programs, movies, or personal videos, for display on a browser. In some cases, commercials are inserted between scenes of a video or are adjacent to the images. For example, Hulu® videos typically include commercials inserted between arbitrary scenes of a given video.

Currently, however, advertisements associated with the videos are only tangentially related to a given video. For example, an automobile advertisement may simply be inserted between scenes of a video that are not related to automobiles. This tends to diminish the effectiveness of the advertisement, which results in a lower associated conversion rate for the advertisement.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for communicating images and advertisements associated with the images;

FIG. 2 is a flow diagram of operations for embedding advertisement information into an image;

FIG. 3 is a flow diagram for detecting text in an image region defined by a user selection and for communicating an advertisement or other information associated with the detected text to the user;

FIG. 4 illustrates the association of the text of an image with an advertisement;

FIG. 5 is a flow diagram for detecting an object in an image region defined by a user selection and for communicating an advertisement or other information associated with the detected object to the user;

FIG. 6 illustrates the association of a detected object of an image with an advertisement; and

FIG. 7 illustrates a general computer system, which may represent any of the computing devices referenced herein.

DETAILED DESCRIPTION

The embodiments below describe an exemplary embodiment of a system for improved display of images, such as pictures or videos. Generally, the system enables conveying additional information or even advertisements, where the other information is related to the content of the image. For example, additional text or an advertisement may be related to text or an object shown in the image. Alternatively or in addition, an advertisement may be related to a given image in its entirety, such as a scene from a video.

The system enables users viewing the image to select an area of the image or video and to retrieve an advertisement or other information associated with the content of the selected area.

In some implementations, data that defines the advertisement or other information may be embedded within the image itself. For example, data that defines an advertisement tag associated with an advertisement may be embedded in the data that defines a video.

In other implementations, data that defines selectable objects may be embedded in the image. The data may enable highlighting an object in an image for which an advertisement or other information is available. The selectable object may be highlighted when it is displayed or, for example, when a pointer or cursor is moved over or near the selectable object. The selectable object may also be highlighted under other circumstances.

FIG. 1 is a system 100 for communicating images and advertisements associated with the images. As used herein, the term image includes data that cooperates with a processor to produce a static image, such as a still picture; sequences of images, such as a video; and/or a scene from a video. The system 100 includes a front-end server 105, an image processing server 110, and an advertisement database 120. The various components of the system 100 may reside on a single computer or be distributed between several computers interconnected by a communication network.

The front-end server 105 and image processing server 110 may correspond to an Intel®, AMD®, or PowerPC® based computer operating a Microsoft Windows®, Linux, or other Unix® based operating system. The front-end server 105 and image processing server 110 may be configured to communicate with other computers via an interface, such as a network interface. The image processing server 110 may be configured to communicate data to and from the advertisement database 120 or other databases or systems.

The front-end server 105 may include code, logic, and/or other circuitry that enables the reception of a request to serve an image to a user 115, and to communicate the requested image to the user 115. For example, the front-end server 105 may correspond to a web server operable to generate web pages that display static images and/or video streams.

The image processing server 110 may include code, logic and/or other circuitry that enables the determination of advertisement content associated with an image or video selected by a user 115. For example, the image processing server 110 may be configured to select advertisements associated with an image or a portion of an image. In some implementations, a given image may be associated with numerous advertisements. For example, text displayed in a given image may be associated with advertisements related to the displayed text. Objects displayed in the same image may be associated with advertisements related to the displayed object. The entire image may be associated with a given advertisement.

In some implementations, the image processing server 110 includes subsystems operable to embed advertisement information or other information into an image or video requested by a user 115. For example, an advertiser may have previously bid on monetizable content, such as a movie scene, video, text or objects within an image, and/or the entire image much in the same way as advertisers currently bid on key words in sponsored search systems such as Yahoo! Search®. Data that defines an advertisement to be associated with the monetizable content may then be embedded into the data that defines the image or video. For example, data that defines an advertisement tag may be embedded into the data that defines the image or video. A request to retrieve an advertisement associated with an advertisement tag may be communicated to an advertisement server under various conditions. For example, the request may be generated on a periodic basis, such as every 5 minutes, by a browser through which the image is viewed. The request may also be generated when a user 115 clicks on a particular image, such as a scene or object in a video. An advertisement tag associated with the selection may then be communicated to an advertisement server (not shown) when the user 115 clicks the image. The advertisement server may then communicate the advertisement associated with the advertisement tag to the user 115.

The advertisement associated with a given advertisement tag may be inserted into a video stream in much the same way as a television commercial is embedded between portions of a television program. In addition or alternatively, the advertisement may be shown next to the image or video. For example, a display region may be provided adjacent to an image or video.

In some implementations, the image processing server is also configured to embed data that defines selectable objects within the image or video. The data may be operable by a browser 117 to cause the browser to highlight selectable objects when they are shown in an image. This enables a user 115 to identify objects that may be associated with advertisements or other information.

The image processing server 110 may also be configured to retrieve advertisements and/or other information related to a region of an image, video, and/or scene selected by a user 115. For example, a user 115 may click on a particular scene, text, or object in an image or video shown on a browser 117 that operates on a computer (not shown). Data that defines the selected image region may be communicated to the image processing server 110. For example, x and y coordinates that define the position where the user 115 clicked the display may be communicated by the browser 117. In some implementations, data that defines a selection box may also be communicated to the image processing server 110 from the browser 117. For example, the position and size of the selection box may be communicated to the image processing server 110. The image processing server 110 may be configured to analyze the selected image region and to select an advertisement or provide other information that is related to the content of the image region. For example, text within a user selection may be related to an advertisement. An object within the user selection may also be associated with an advertisement. The scene within which the user 115 made the selection may also be related to an advertisement. The image processing server 110 may select an advertisement associated with the user selection and communicate the advertisement to the user 115.

FIG. 2 is a flow diagram of operations for embedding advertisement information into an image, such as a picture or video. The operations below may be performed by the system 100 of FIG. 1. At block 200, an image or video request may be received by the system 100. For example, a user 115 (FIG. 1) may communicate a request for an image or video to the front-end sever 105 (FIG. 1) via a network 112 (FIG. 1).

If at block 205, there are no advertisements or there is no other information associated with the requested image, then at block 220, the requested image is communicated to the user 115. For example, data that defines an advertisement tag, as described above, may not be embedded into the data that defines the image or video, which may indicate that there are no advertisements associated with the requested image.

If there are advertisements and/or there is other information related to the requested image or video, then at block 210, data that defines the related advertisements and/or the other information may be communicated to an advertisement embedding subsystem. For example, the front-end server 105 may communicate information that defines the selected image/video to the image processing server 110 (FIG. 1). The image processing server 110 may then search an advertisement database 120 (FIG. 1) for advertisements that are related to the image or video selected by the user 115.

In some implementations, images and videos are analyzed to identify monetizable content. The analysis may be performed automatically or by a person. For example, as described below, text recognition algorithms and object detection algorithms may be utilized to identify text and objects in a given image or video. In addition or alternatively, the image or video may be analyzed by a human in cases where an automatic system may have difficulty.

Text identified may include, for example, text associated with a company's trademark, as will be described below in conjunction with the illustrations of FIG. 4. Various objects may also be identified. For example, a glass of wine may be identified, as will be described below in conjunction with the illustrations of FIG. 6. In some implementations, the text and objects identified in an image or video may be stored to a database (not shown) and associated with the image or video. Advertisers may then be offered the opportunity to bid on the items found in an image or video. For example, a winery may wish to bid for the opportunity to have an advertisement associated with a wine glass found in an image or video. The owner of the trademark may wish to bid for the opportunity to have an advertisement associated with any trademarks owned by the owner.

At block 215, data that defines the related advertisements and/or other information may be embedded into the image or video requested by the user 115. For example, an advertisement embedding subsystem (not shown) of the image processing server 110 may insert advertisement tag information into the image or video. Code operating on a browser to which the image or video is delivered may be operable to retrieve advertisements associated with the advertisement tag information from an advertisement server and, for example, insert the advertisements between scenes of a video or place the advertisement in a designated region of a static image. For example, an advertisement may be inserted between scenes of a video by stopping a video and then displaying an advertisement over the region of a display showing the video or a different region. Advertisements may also be shown as pop up ads floating over a web page or on the top, bottom, sides, or other parts of a web page.

In some implementations, the advertisement embedding subsystem may embed scripting information into the image or video. The scripting information may be operable by a browser (not shown) operating in conjunction with a processor of the user computer 115 or other device to cause the browser to communicate selections within an image or video made by the user 115 to the image processing server 110, as described below. For example, the scripting information may enable communicating the x and y coordinates of a selection made within an image or video by a user selection device, such as a mouse, light pen, joystick, keyboard, touch sensitive screen or other pointing device, that enables moving a pointer or cursor, or otherwise selecting a point or area on a display screen. The selection may be generated by actuating the user selection device. For example, clicking a mouse when the pointer is positioned over the image. In addition or alternatively, the user selection may occur when the pointer is positioned or dragged over the image. The scripting information may enable communicating data that defines a selected scene. For example, a frame number or other timing information that identifies a selected scene may be communicated. The scripting information may enable communicating data that defines a selected region, such as the position and size of a selection box for selecting a desired region.

At block 220, the requested image or video may be communicated to the user 115. For example, the image processing server 110 may communicate the image or video to the front-end server 105. The front-end server 105 may then communicate the image or video to the user 115. In some implementations, the image processing server 110 may be configured to bypass the front-end server and to communicate the image or video directly to the user 115.

FIG. 3 is a flow diagram illustrating a method for detecting text in a user selection and for communicating an advertisement or other information associated with the text to the user. The operations of FIG. 3 are more clearly understood in reference to the illustrations shown in FIG. 4, which illustrate an image and advertisement presented in the image. The operations shown in FIG. 3 may occur in conjunction with the operations of FIG. 5, described below, or alone.

At block 300, a region of a display image and/or video is selected by a user and communicated to the system. For example, a user 115 (FIG. 1) may initially be viewing an original image 400 (FIG. 1). The user 115 may select a region of interest of the original image 400 via a user selection as described above. The region of interest may include a highlighted object that indicates to the user 115 the association of an advertisement or other information with the highlighted object. Data that defines the user selection 402 may be communicated to the system 100 (FIG. 1). The user selection 402 may include data that defines x and y coordinates of a mouse click and/or the position and size of a selection box. The user selection 402 may also include data that defines a scene or a group of scenes selected from a video.

At block 305, an image region 405 associated with the user selection 402 may be extracted from the original image or video. In some implementations, data that defines the image region 405 of the original image 400, such as the actual pixels that define the image region 405, are communicated from a user's browser (not shown) to the system 100. In other implementations, the image region 405 associated with the user selection 402 is extracted from the data store where the image and/or video is located. For example, the image processing server 110 (FIG. 1) may extract the image region 405 from a database (not shown) that stores the image and/or video.

In some implementations, the size of the image region 405 is predetermined. For example, the size may correspond to a predetermined width and height, such as 100×100 pixels. In other implementations, the size of the image region 405 corresponds to a selection box generated by the user 115. In yet other implementations, the size of the image region 405 is determined based on the content of the image region 405. For example, the size of the image region 405 may correspond to a size that just captures all the characters in a particular piece of text located in the image region 405. The size of the image region 405 may be determined in other ways.

At block 310, text 410 within the image region 405 may be extracted. For example, text recognition software or other software may be utilized to extract text 410 shown in an image region 405. The text recognition software may operate on the image processing server 110 or on a different server.

At block 315, an advertisement database may be searched to identify an advertisement 415 related to the extracted text 410. For example, advertisements in the advertisement database 120 (FIG. 1) may be associated with key words upon which advertisers placed bids. An advertisement 415 that is associated with key words that match or are in some way related to the extracted text 410 may be selected. Commonly owned U.S. Pat. No. 6,269,361 illustrates one system in which advertisers may bid on keywords to position among search results presented to a searcher. In some cases, the selected advertisement 415 may correspond to an advertisement 415 associated with a highest bid amount. The advertisement 415 may also be selected on the basis of different criteria.

In some implementations, other information associated with the text 410 may be identified. For example, a search for the text 410 in an encyclopedia or dictionary database may be performed to provide a definition or other information related to the text 410.

At block 320, data that defines the advertisement 415 and/or other information may be communicated to the user 115. For example, the actual advertisement 415 may be communicated to the user 115. Alternatively, an advertisement tag may be communicated to the user 115. The advertisement tag may cause the user's browser to retrieve an advertisement 415 associated with the advertisement tag from an advertisement server (not shown). The advertisement 415 or other information may be shown in a region adjacent to the image and/or video. For example, a portion of an encyclopedia definition of the text may be displayed adjacent to the image and/or video.

FIG. 5 is a flow diagram for detecting an object in a user selection and for communicating an advertisement or other information associated with the object to the user. The operations of FIG. 5 are more clearly understood in reference to the illustrations shown in FIG. 6, which the association of an advertisement with an image displayed to a user. The operations of FIG. 5 may occur in conjunction with the operations of FIG. 3, described above, or alone.

At block 500, a region of a display image and/or video is selected by a user and communicated to the system. For example, a user 115 (FIG. 1) may initially be viewing the original image 600 (FIG. 6), which shows a wine glass. The user 115 may select a region of interest of the original image 600. The region of interest may include a highlighted object that indicates to the user 115 the association of an advertisement or other information with the highlighted object. For example, the user 115 may, via a user selection device, select the wine glass shown in the original image 600. The user may have known to select the wine glass because the wine glass is highlighted. For example, a border may be shown around the wine glass when the user positions a cursor or pointer near the wine glass. Data that defines the user selection 602 may be communicated to the system 100 (FIG. 1). The user selection 602 may include data that defines x and y coordinates of a mouse click and/or the position and size of a selection box. The selection may also include data that defines a scene or a group of scenes selected from a video.

At block 505, object filtering/isolation may be utilized to select an image region 605 that contains an object. Object filtering/isolation encompasses processing an image to enhance targets within a scene and/or degrading non-target objects, as discussed by Kinser, Jason M. and Johnson, John L. (n.d.) “Object Isolation”, Retrieved Oct. 28, 2009 from CiteSeer^(X) _(beta) website: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.4940, which is hereby incorporated by reference.

The size of the image region 605 may correspond to a size that just captures the edges that define a particular object in the image region 605. The edge detection may be accomplished via edge detection algorithms or other algorithms. The resulting image region 605 may encompasses the selected object, such as the wine glass selected by the user 115. In other implementations, the size of the image region 605 is predetermined. For example, the size may correspond to a predetermined width and height, such as 100×100 pixels. In yet other implementations, the size of the image region 605 corresponds to a selection box generated by the user 115.

At block 510, object mapping may be performed to identify objects within the image region 605. Object mapping may include comparing the detected shape edges of an object in the image region 605 with a database of object shapes 610, such as a wine glass shape. A correlation algorithm may be utilized to identify the object shape with the highest correlation to the detected shape edges. For example, object mapping may be utilized to determine the object shape 610 that most closely matches a detected object in the image region 605, such as the wine glass shown in FIG. 6.

At block 515, an advertisement database may be searched to identify an advertisement 615 related to the detected object shapes 610. For example, advertisements in the advertisement database may be associated with key words upon which advertisers placed bids. Advertisements associated with key words that match or are in some way related to the object shapes 610 may be selected. In some cases, the selected advertisement 615 may correspond to the advertisement 615 associated with a highest bid, although different criteria may also be utilized.

In some implementations, other information associated with the object may be identified. For example, a search for the text that defines the object shape in an encyclopedia or dictionary database may be performed to provide a definition or other information related to the object shape.

At block 520, the advertisement 615 and/or other information may be communicated to the user 115. For example, the actual advertisement, such as the advertisement pixel data, may be communicated to the user 115. Alternatively, an advertisement tag may be communicated to the user 115. The advertisement tag may cause the user's 115 browser (not shown) to retrieve an advertisement associated with the advertisement tag from an advertisement server (not shown). The advertisement or other information may be shown in a region adjacent to the requested image or video. For example, a portion of an encyclopedia definition of the text may be displayed adjacent to the image or video.

FIG. 7 illustrates a general computer system 700, which may represent the front-end server 105, the image processor server 110, or any other computing devices referenced herein. The computer system 700 may include a set of instructions 745 that may be executed to cause the computer system 700 to perform any one or more of the methods or computer-based functions disclosed herein. The computer system 700 may operate as a stand-alone device or may be connected, e.g., using a network, to other computer systems or peripheral devices.

In a networked deployment, the computer system 700 may operate in the capacity of a server or as a client-user computer in a server-client user network environment, or as a peer computer system in a peer-to-peer (or distributed) network environment. The computer system 700 may also be implemented as or incorporated into various devices, such as a personal computer or a mobile device, capable of executing a set of instructions 745 (sequential or otherwise) that specify actions to be taken by that machine. Further, each of the systems described may include any collection of sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.

The computer system 700 may include a memory 710 on a bus for communicating information. The advertisement database 120 may be stored in the memory 710. In addition, code operable to cause the computer system to perform any of the acts or operations described herein may be stored in the memory 710. The memory 710 may be a random-access memory, a read-only memory, a programmable memory, a hard disk drive, or any other type of memory or storage device.

The computer system 700 may include a display 730, such as a liquid crystal display (LCD), a cathode ray tube (CRT), or any other display suitable for conveying information. The display 730 may act as an interface for the user to see the functioning of the processor 705, or specifically as an interface with the software stored in the memory 710 or in the drive unit 715.

Additionally, the computer system 700 may include an input device 725, such as a keyboard or mouse, or other selection device configured to allow a user to interact with any of the components of system 700.

The computer system 700 may also include a disk or optical drive unit 715. The disk drive unit 715 may include a computer-readable medium 740 in which one or more sets of instructions 745, e.g. software, can be embedded. Further, the instructions 745 may perform one or more of the operations as described herein. The instructions 745 may reside completely, or at least partially, within the memory 710 and/or within the processor 705 during execution by the computer system 700. The memory 710 and the processor 705 also may include computer-readable media as discussed above.

The computer system 700 may include a communication interface 735 that enables communications via a network 750. The network 750 may include wired networks, wireless networks, or combinations thereof. The communication interface 735 network may enable communications via any number of communication standards, such as 802.11, 802.17, 802.20, WiMax, cellular telephone standards, or other communication standards.

Accordingly, the method and system may be realized in hardware, software, or a combination of hardware and software. The method and system may be realized in a centralized fashion in at least one computer system or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The method and system may also be embedded in a computer program product, which includes all the features enabling the implementation of the operations described herein and which, when loaded in a computer system, is able to carry out these operations. A computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function, either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

As shown above, the system enables providing advertisements or other information that is more related to a given image or video that the user may be viewing. For example, the user may select a region of an image or video via a user selection device. Data that defines the selection may be communicated to an image processing server. The image processing server may analyze the image region defined by the selection to identify text or objects within the image region. The image processing server may then select advertisements or other information that is related to the identified text and objects. The selected advertisements or other information may then be communicated to the user. A greater return on investment for the advertiser is possible because the advertisement is more related to the text and objects selected by a user.

While the method and system has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope. In addition, many modifications may be made to adapt a particular situation or material to the teachings without departing from its scope. Therefore, it is intended that the present method and system not be limited to the particular embodiment disclosed, but that the method and system include all embodiments falling within the scope of the appended claims. 

1. A method for serving an advertisement in a networked system, the method comprising: receiving, at an image processing server, data that defines a user selection of an image; determining the content of an image region defined the user selection; selecting, by the image processing server, an advertisement associated with the determined content; and communicating the selected advertisement to the user.
 2. The method according to claim 1, wherein the data that defines the user selection includes data from the group consisting of an x selection coordinate, a y selection coordinate, a width, and a height that defines the image region.
 3. The method according to claim 1, wherein the data that defines the user selection defines a scene of a video.
 4. The method according to claim 3, further comprising selecting an advertisement associated with the scene of the video.
 5. The method according to claim 1, further comprising extracting text from the user selection.
 6. The method according to claim 1, further comprising selecting an advertisement associated with the text.
 7. The method according to claim 1, further comprising: detecting an object in the image region; and selecting an advertisement associated with the object.
 8. The method according to claim 1, wherein the image includes data operable to cause a browser to indicate to a user an object in an image associated with an advertisement.
 9. A method for serving an advertisement in a networked system, the method comprising: receiving, at an image processing server, a request to display an image from a user; determining whether advertisements are associated with the image; embedding data that defines an advertisement into the requested image if an advertisement is associated with the image; and communicating the image to the user.
 10. The method according to claim 10, wherein the request includes data that defines a user selection that includes data from the group consisting of an x selection coordinate, a y selection coordinate, a width, and a height that defines a region of an image.
 11. A system for serving an advertisement in a networked system comprising: an image processing server configured to receive data that defines a user selection of an image; select an advertisement associated with the user selection; and communicate the selected advertisement to the user.
 12. The system according to claim 11, wherein the data that defines the user selection includes data from the group consisting of an x selection coordinate, a y selection coordinate, a width, and a height that defines a region of an image.
 13. The system according to claim 11, wherein the data that defines the user selection defines a scene of a video, and wherein the system further comprises circuitry and logic configured to select an advertisement associated with the scene of a video
 14. The system according to claim 11, wherein the image processing server further comprises circuitry and logic configured to extract text from the user selection and to select an advertisement associated with the text.
 15. The system according to claim 11, wherein the image processing server further comprises circuitry and logic configured to detect an object in the user selection and to select an advertisement associated with the object.
 16. A machine-readable storage medium having stored thereon a computer program comprising at least one code section for serving an advertisement, the at least one code section being executable by a machine for causing the machine to perform the acts of: receiving data that defines a user selection of an image; determining the content of an image region defined the user selection; selecting an advertisement associated with the determined content; and communicating the selected advertisement to the user.
 17. The machine-readable storage medium according to claim 16, wherein the data that defines the user selection includes data from the group consisting of an x selection coordinate, a y selection coordinate, a width, and a height that defines the image region.
 18. The machine-readable storage medium according to claim 16, wherein the data that defines the user selection defines a scene of a video, and wherein the code is executable by the machine to cause the machine to select an advertisement associated with the scene of the video.
 19. The machine-readable storage medium according to claim 16, wherein the code is executable by the machine to cause the machine to extract text from the image region and to select an advertisement associated with the text.
 20. The machine-readable storage medium according to claim 16, wherein the code is executable by the machine to cause the machine to detect an object in the image region and to select an advertisement associated with the object.
 21. A system for serving an advertisement in a networked system comprising: an image processing server configured to receive a request to display an image from a user; determine the content of an image region defined the user selection; determine whether advertisements are associated with the image; embed data that defines an advertisement into the requested image if an advertisement is associated with the image; and communicate the image to the user.
 22. The method according to claim 21, wherein the request includes data that defines a user selection that includes data from the group consisting of an x selection coordinate, a y selection coordinate, a width, and a height that defines the image region.
 23. A machine-readable storage medium having stored thereon a computer program comprising at least one code section for serving an advertisement, the at least one code section being executable by a machine for causing the machine to perform the acts of: receiving a request to display an image from a user; determining whether advertisements are associated with the image; embedding data that defines an advertisement into the requested image if an advertisement is associated with the image; and communicating the image to the user.
 24. The method according to claim 23, wherein the request includes data that defines a user selection that includes data from the group consisting of an x selection coordinate, a y selection coordinate, a width, and a height that defines an image region. 